/*
 * Created by Federico Pisarello - SisDev Software (c) 2013 - fpisarello@gamil.com
 */

var popForm = 'recibosPop.php';
var popImputacionForm = 'recibosImputacionPop.php';
var popImprimir = 'docsPdf/pdfRecibos.php';
var popItemForm = 'recibosItemPop.php';
var popItemRetencionForm = 'recibosItemRetencionPop.php';
var actionForm = 'recibosAction.php';

var joDataRecibo;
var joDataItem;
var joDataItemRetencion;
var oTable;
var oTableItem;
var oTableItemRetencion;
var oTableRecibosSinImputar;
var oTableComprobantes;

var oTableListadoRet;
var oTableListadoRecibos;

var reciboSelected;
var saldoReciboSelected;
var popUpLoaded = false;

var jaItems = [];
var jaItemsRetencion = [];

/** Variable of tracking the IndexPK **/
var actionPK = undefined;
var action = undefined;
var actionConfirmaPK = undefined;
var estadoRecibo = undefined;

//Uso el mismo ActionPKItem y ActionItem para Cobro y Retencion
var actionItem = undefined;  
var actionPKItem = undefined;

function $_init()
{	
	var gaiSelected;
	
	$(document).ready(function() {
    	oTable = $('#dt_recibos').dataTable( {
					"bJQueryUI": true,
					"sPaginationType": "two_button",
					"bInfo": false,
					"bLengthChange": false,
					"bProcessing": true,
					"bAutoWidth": false,
					"bServerSide": true,
					"sAjaxSource": actionForm + "?accion=search",
					"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
						if ( jQuery.inArray(aData[0], gaiSelected) != -1 )
						{
					        $(nRow).addClass('row_selected');
						}
						return nRow;
					},
					"aoColumns": [
					            null,
					            null,
					  			null,
					  			null,
					  			null,
					  			null
					  		]
				});
    	
    	$('#dt_recibos tbody td img').live( 'click', function () {
    		var nTr = $(this).parents('tr')[0];
    		if (oTable.fnIsOpen(nTr) )
    		{
    			/* This row is already open - close it */
    			this.src = "images/details_open.png";
    			oTable.fnClose( nTr );
    		}
    		else
    		{            
    			/* Open this row */            
    			this.src = "images/details_close.png";            
    			oTable.fnOpen( nTr, fnFormatDetailsRecibo(oTable, nTr), 'details' );        
    		}    
    	});
    	
    	/* Click event handler */
    	$('#dt_recibos tbody tr').live('click', function () {
    		var aData = oTable.fnGetData(this);
    		if(aData == undefined)
    			return;
    		
    		var iId = aData[0];
    		actionPK = aData[0];
    		estadoRecibo = aData[4].substring(0,1);
    		
    		gaiSelected =  [];
    		if ( $(this).hasClass('row_selected') ) {
	            $(this).removeClass('row_selected');
	            actionPK = undefined;
	        }
	        else {
	            oTable.$('tr.row_selected').removeClass('row_selected');
	            $(this).addClass('row_selected');
	            gaiSelected[gaiSelected.length++] = iId;
	        }
    	});
	});
	
	$("#recibosDialog").dialog({
		autoOpen:false, 
		height:'auto', 
		width:680, 
		modal: true,
		closeOnEscape: false,
		position : ['center',10],
		dialogClass:'no-close',
		beforeClose: function() { $_ClearRecibosPopForm(); },
		open: function() {
			$('#recibosDialog').css('background-color','#4f4233');
		}
	});
	
	$("#recibosImputacionDialog").dialog({
		autoOpen:false, 
		height:'auto', 
		width:680, 
		modal: true,
		closeOnEscape: false,
		position : ['center',10],
		dialogClass:'no-close',
		beforeClose: function() { $_ClearRecibosFinalizarPopForm(); },
		open: function() {
			$('#recibosImputacionDialog').css('background-color','#4f4233');
		}
	});
		
	//Add Click for All Buttons in Search Form
	$("#btnAgregar").click( function(e) {
		addProxyShow();
    });
		
	$('#btnEliminar').click( function(e) {
		delProxyShow();
	});
	
	$('#btnEditar').click( function(e) {
		editProxyShow();
	});
	
	$('#btnImputacion').click( function(e) {
		imputacionesProxyShow();
	});
	
	$('#btnImprimir').click( function(e) {
		imprimirProxyShow();
	});
}

function fnFormatDetailsRecibo(oTable, nTr){
	var aData = oTable.fnGetData(nTr);
	var sOut = "";
	var paramData =  "accion=searchReciboDetalle&idRecibo=" + aData[0] + "&estado=" + aData[4].substring(0,1); ;
	
    $.ajax({
        type: 'POST',
        url: actionForm,
        data: paramData,
        async: false,
		dataType: 'html',
        success: function(strHtml)
                            {
        						sOut = '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">';
        						sOut += strHtml;
        						sOut += '</table>';
                            }
    });
		
	return sOut;
}


function $_initPop()
{
	$("#fecha").attr('disabled','disabled')
	
	//Add Click for All Buttons in Pop Form
	$('#btnCerrar').click( function(e) {
		$('#recibosDialog').dialog('close');
	});
	$('#btnGuardar').click( function(e) {
		$('#recibosPopForm').submit();
	});
	
	$('#cliente').blur(function() {
		if($('#cliente').val() != "")
			$('#descripcion').val('COBRO '+$('#cliente').val());
		else
			$('#descripcion').val('');
	});
	
	$('.numeric').numeric();
	
	$("#recibosItemCobroDialog").dialog({
		autoOpen:false,
		position : ['center',10],
		height:'auto', 
		width:600, 
		modal: true,
		dialogClass:'no-close',
		beforeClose: function() { $_ClearRecibosItemCobroPopForm(); },
		open: function() {
			$('#recibosItemCobroDialog').css('background-color','#4f4233');
		}
	});
	
	$("#recibosItemRetencionDialog").dialog({
		autoOpen:false,
		position : ['center',10],
		height:'auto', 
		width:600, 
		modal: true,
		dialogClass:'no-close',
		beforeClose: function() { $_ClearRecibosItemRetencionPopForm(); },
		open: function() {
			$('#recibosItemRetencionDialog').css('background-color','#4f4233');
		}
	});

	jaItems = [];
	jaItemsRetencion = [];
		
	oTableItem = $('#dt_detalleCobro').dataTable( {
					"bJQueryUI": true,
					"sDom": 'lfrtip',
					"bInfo": false,
					"bRetrieve": true,
					"bFilter": false,
					"bPaginate": false,
					"sScrollY": "auto",
					"bLengthChange": false,
					"bSearchable":false,
					"bProcessing": false,
					"bAutoWidth": true,
					"bSort": false,
					"aoColumns": [
									null,
									null,
									null
								],
					"aaData": []
				});

	oTableItemRetencion = $('#dt_retenciones').dataTable( {
					"bJQueryUI": true,
					"sDom": 'lfrtip',
					"bInfo": false,
					"bRetrieve": true,
					"bFilter": false,
					"bPaginate": false,
					"sScrollY": "auto",
					"bLengthChange": false,
					"bSearchable":false,
					"bProcessing": false,
					"bAutoWidth": true,
					"bSort": false,
					"aoColumns": [
									null,
									{bVisible: false},
									null,
									null,
									null,
									null,
									null
								],
					"aaData": []
				});
	
	//Populate Pedidos Data	
	if(action == iConst.EDIT)
	{
		$('#fecha').val(joDataRecibo.fecha);
		$('#descripcion').val(joDataRecibo.descripcion);
		$('#importe').val(joDataRecibo.importe);
		
		jaItems = joDataRecibo.reciboItems;
		jaItemsRetencion = joDataRecibo.retencionItems;
		
		$.each(jaItems, function (index, item) {
			
			var arrItem = [
			               '<center><img style="cursor:pointer;" onclick="editItemCobroProxyShow(\'' + item.tipoCobro + '\', this)" src="images/editar.png"/>&nbsp;<img style="cursor:pointer;" onclick="deleteItemCobro(this)" src="images/eliminar.png"/></center>', 
			               item.descripcion, 
			               item.importe
			             ];
			
			oTableItem.fnAddData(arrItem);
		});
		
		$.each(jaItemsRetencion, function (index, item) {
			
			var arrItem = [
			               '<center><img style="cursor:pointer;" onclick="editItemRetencionProxyShow(\'' + item.categoria + '\', this)" src="images/editar.png"/>&nbsp;<img style="cursor:pointer;" onclick="deleteItemRetencion(\''+item.categoria+'\')" src="images/eliminar.png"/></center>',
			               item.categoria,
			               item.fechaRetencion, 
			               item.descripcion,
			               item.nroRetencion, 
			               item.importeBaseImponibleRetencion,
			               item.importeRetencion
			             ];

			oTableItemRetencion.fnAddData(arrItem);
		});
	}
	
	
	if(action == iConst.NEW) 
	{
		var d = new Date();
		var month = d.getMonth()+1;
		var day = d.getDate();
		
		//Populo la Fecha y Hora
		$("#fecha").val(((''+day).length<2 ? '0' : '') + day + '/' + ((''+month).length<2 ? '0' : '') + month + '/' + d.getFullYear());
	}
	
	$_ValidatorSetDefaults();
	$_initPopValidator();
	
	clientesPop = new $_autoCompleteHelper({
												dataMode: 'remote',
												editMode: action,
												control: 'cliente',
												action: actionForm + '?accion=getClientes',
												id: (joDataRecibo ? joDataRecibo.idCliente : valueConst.NULL_VALUE),
												text: (joDataRecibo ? joDataRecibo.razonSocial : valueConst.NULL_STRING)
											});	
		
	$('#btnAgregarItemCobro').click(function (e) {
		addItemCobroProxyShow();
	});
	
	$('#btnAgregarItemRetencion').click(function (e) {
		addItemRetencionProxyShow();
	});
}

function $_initItemCobroPop()
{
	//Add Click for All Buttons in Pop Form
	$('#btnCerrarItemCobro').click( function(e) {
		$('#recibosItemCobroDialog').dialog('close');
	});
	$('#btnGuardarItemCobro').click( function(e) {
		$('#detalleCobroItemPopForm').submit();
	});
	
	$('.cuit').mask('99-99999999-9');
	$('.numeric').numeric();
	
	$(".fecha").mask('99/99/9999',{placeholder:" "}).datepicker({
		showOptions: { direction: "up" },
		dateFormat: 'dd/mm/yy',
		changeMonth: true,
		changeYear: true
	});
		
	$('#cmbTipo').change(function(){
		$_cambiaTipoCobro($(this).val());
	});
	
	if(actionItem == iConst.EDIT) {
		$('#cmbTipo').val(joDataItem.tipoCobro);
		switch (joDataItem.tipoCobro) {
			case sConstTipoCobro.EFECTIVO:
				$('#importeEfectivo').val(joDataItem.importe);
				$('#efectivo').show();
				break;
	
			case sConstTipoCobro.CHEQUE:
				$('#fechaEmisionCheque').val(joDataItem.fechaEmisionCheque);
				$('#fechaVtoCheque').val(joDataItem.fechaVtoCheque);
				$('#importeCheque').val(joDataItem.importe);
				$('#bancoCheque').val(joDataItem.bancoCheque);
				$('#nroCheque').val(joDataItem.nroCheque);
				$('#firmanteCheque').val(joDataItem.firmanteCheque);
				$('#cuitFirmanteCheque').val(joDataItem.cuitFirmanteCheque);
				$('#endosante1Cheque').val(joDataItem.endosante1Cheque);
				$('#cuitEndosante1Cheque').val(joDataItem.cuitEndosante1Cheque);
				$('#endosante2Cheque').val(joDataItem.endosante2Cheque);
				$('#cuitEndosante2Cheque').val(joDataItem.cuitEndosante2Cheque);
				$('#endosante3Cheque').val(joDataItem.endosante3Cheque);
				$('#cuitEndosante3Cheque').val(joDataItem.cuitEndosante3Cheque);
				$('#cheque').show();
				break;
				
			case sConstTipoCobro.TRANSFERENCIA:
				$('#bancoTransferencia').val(joDataItem.bancoTransferencia);
				$('#fechaTransferencia').val(joDataItem.fechaTransferencia);
				$('#importeTransferencia').val(joDataItem.importe);
				$('#transferencia').show();
				break;
				
			case sConstTipoCobro.DOCUMENTO:
				$('#fechaEmisionDocumento').val(joDataItem.fechaEmisionDocumento);
				$('#fechaVtoDocumento').val(joDataItem.fechaVtoDocumento);
				$('#nroDocumento').val(joDataItem.nroDocumento);
				$('#importeDocumento').val(joDataItem.importe);
				$('#firmanteDocumento').val(joDataItem.firmanteDocumento);
				$('#cuitFirmanteDocumento').val(joDataItem.cuitFirmanteDocumento);
				$('#documento').show();
				break;
		}		
	}
	
	//Populo el Objeto JSON
	$("#importeEfectivo").change(function(){
		joDataItem.importe = $(this).val();
	});
	$("#fechaEmisionCheque").change(function(){
		joDataItem.fechaEmisionCheque = $(this).val();
	});
	$("#fechaVtoCheque").change(function(){
		joDataItem.fechaVtoCheque = $(this).val();
	});
	$("#importeCheque").change(function(){
		joDataItem.importe = $(this).val();
	});
	$("#bancoCheque").change(function(){
		joDataItem.bancoCheque = $(this).val();
	});
	$("#nroCheque").change(function(){
		joDataItem.nroCheque = $(this).val();
		joDataItem.descripcion = "Cheque "+$(this).val();
	});
	$("#firmanteCheque").change(function(){
		joDataItem.firmanteCheque = $(this).val();
	});
	$("#cuitFirmanteCheque").change(function(){
		joDataItem.cuitFirmanteCheque = $(this).val();
	});
	$("#endosante1Cheque").change(function(){
		joDataItem.endosante1Cheque = $(this).val();
	});
	$("#cuitEndosante1Cheque").change(function(){
		joDataItem.cuitEndosante1Cheque = $(this).val();
	});
	$("#endosante2Cheque").change(function(){
		joDataItem.endosante2Cheque = $(this).val();
	});
	$("#cuitEndosante2Cheque").change(function(){
		joDataItem.cuitEndosante2Cheque = $(this).val();
	});
	$("#endosante3Cheque").change(function(){
		joDataItem.endosante3Cheque = $(this).val();
	});
	$("#cuitEndosante3Cheque").change(function(){
		joDataItem.cuitEndosante3Cheque = $(this).val();
	});
	$("#fechaTransferencia").change(function(){
		joDataItem.fechaTransferencia = $(this).val();
	});
	$("#bancoTransferencia").change(function(){
		joDataItem.bancoTransferencia = $(this).val();
	});
	$("#importeTransferencia").change(function(){
		joDataItem.importe = $(this).val();
	});
	$("#fechaEmisionDocumento").change(function(){
		joDataItem.fechaEmisionDocumento = $(this).val();
	});
	$("#fechaVtoDocumento").change(function(){
		joDataItem.fechaVtoDocumento = $(this).val();
	});
	$("#nroDocumento").change(function(){
		joDataItem.nroDocumento = $(this).val();
		joDataItem.descripcion = "Documento "+$(this).val();
	});
	$("#importeDocumento").change(function(){
		joDataItem.importe = $(this).val();
	});
	$("#firmanteDocumento").change(function(){
		joDataItem.firmanteDocumento = $(this).val();
	});
	$("#cuitFirmanteDocumento").change(function(){
		joDataItem.cuitFirmanteDocumento = $(this).val();
	});
	
	$_initPopItemCobroValidator();
}

function $_initItemRetecionPop()
{
	//Add Click for All Buttons in Pop Form
	$('#btnCerrarItemRetencion').click( function(e) {
		$('#recibosItemRetencionDialog').dialog('close');
	});
	$('#btnGuardarItemRetencion').click( function(e) {
		$('#detalleRetencionItemPopForm').submit();
	});
	
	if(actionItem == iConst.EDIT) {
		$('#cmbCategoria').val(joDataItemRetencion.categoria);
		$('#fechaRetencion').val(joDataItemRetencion.fechaRetencion);
		$('#nroRetencion').val(joDataItemRetencion.nroRetencion);
		$('#importeBaseImponibleRetencion').val(joDataItemRetencion.importeBaseImponibleRetencion);
		$('#importeRetencion').val(joDataItemRetencion.importeRetencion);
	}
	
	$('.numeric').numeric();

	$(".fecha").mask('99/99/9999',{placeholder:" "}).datepicker({
		showOptions: { direction: "up" },
		dateFormat: 'dd/mm/yy',
		changeMonth: true,
		changeYear: true
	});
	
	$_initPopItemRetencionValidator();
	
	//Populo el Objeto JSON
	$("#cmbCategoria").change(function(){
		joDataItemRetencion.categoria = $(this).val();
		joDataItemRetencion.descripcion = "Retenci&oacute;n de " + $("#cmbCategoria option:selected").text();
	});
	$("#fechaRetencion").change(function(){
		joDataItemRetencion.fechaRetencion = $(this).val();
	});
	$("#nroRetencion").change(function(){
		joDataItemRetencion.nroRetencion = $(this).val();
	});
	$("#importeBaseImponibleRetencion").change(function(){
		joDataItemRetencion.importeBaseImponibleRetencion = $(this).val();
	});
	$("#importeRetencion").change(function(){
		joDataItemRetencion.importeRetencion = $(this).val();
	});
}

function addItemCobroProxyShow()
{
	actionItem = iConst.NEW;
	actionPKItem = undefined;
	joDataItem = {};
	$('#recibosItemCobroDialog').load(popItemForm).dialog('open');
}

function editItemCobroProxyShow(tipoCobro, obj)
{
	actionItem = iConst.EDIT;
	actionPKItem = oTableItem.fnGetPosition($(obj).closest("tr").get(0));
	$.each(jaItems, function (index, item) {
		if(item.tipoCobro == tipoCobro && index == actionPKItem) {
			switch (tipoCobro) {
				case sConstTipoCobro.EFECTIVO:
					joDataItem = {
							tipoCobro: sConstTipoCobro.EFECTIVO,
							descripcion : item.descripcion,
							importe : item.importe
					}	
					break;
	
				case sConstTipoCobro.CHEQUE:
					joDataItem = {
							tipoCobro: sConstTipoCobro.CHEQUE,
							descripcion : item.descripcion,
							fechaEmisionCheque : item.fechaEmisionCheque,
							fechaVtoCheque : item.fechaVtoCheque,
							importe : item.importe,
							bancoCheque: item.bancoCheque,
							nroCheque : item.nroCheque,
							firmanteCheque : item.firmanteCheque,
							cuitFirmanteCheque : item.cuitFirmanteCheque,
							endosante1Cheque : item.endosante1Cheque,
							cuitEndosante1Cheque : item.cuitEndosante1Cheque,
							endosante2Cheque : item.endosante2Cheque,
							cuitEndosante2Cheque : item.cuitEndosante2Cheque,
							endosante3Cheque : item.endosante3Cheque,
							cuitEndosante3Cheque : item.cuitEndosante3Cheque
					}
					break;
					
				case sConstTipoCobro.TRANSFERENCIA:
					joDataItem = {
							tipoCobro: sConstTipoCobro.TRANSFERENCIA,
							descripcion : item.descripcion,
							fechaTransferencia: item.fechaTransferencia,
							bancoTransferencia : item.bancoTransferencia,
							importe : item.importe
					}
					break;
					
				case sConstTipoCobro.DOCUMENTO:
					joDataItem = {
							tipoCobro: sConstTipoCobro.DOCUMENTO,
							descripcion : item.descripcion,
							fechaEmisionDocumento : item.fechaEmisionDocumento,
							fechaVtoDocumento : item.fechaVtoDocumento ,
							nroDocumento : item.nroDocumento,
							importe : item.importe,
							firmanteDocumento : item.firmanteDocumento,
							cuitFirmanteDocumento : item.cuitFirmanteDocumento
					}
					break;
			}
			return false;
		}
	});
	
	$('#recibosItemCobroDialog').load(popItemForm).dialog('open');
}

function deleteItemCobro(obj) 
{
	//Borro el Item de la Grilla
	var iRow = oTableItem.fnGetPosition($(obj).closest("tr").get(0));
	var iFila = 0;
	
	$('#dt_detalleCobro tbody tr').each(function () {
		var aData = oTableItem.fnGetData(this);
		if(iRow == iFila) {
			oTableItem.fnDeleteRow(oTableItem.fnGetPosition(this)) ;
			return false;
		}
		iFila++;
	});
	
	//Borro el Item del JSON
	$.each(jaItems, function (index, item) {
		if(index == iRow) {
			jaItems.splice(index, 1);
			return false
		}
	});
}

function addItemRetencionProxyShow()
{
	actionItem = iConst.NEW;
	actionPKItem = undefined;
	joDataItemRetencion = {};
	$('#recibosItemRetencionDialog').load(popItemRetencionForm).dialog('open');
}

function editItemRetencionProxyShow(categoria, obj)
{
	actionItem = iConst.EDIT;
	actionPKItem = oTableItemRetencion.fnGetPosition($(obj).closest("tr").get(0));
	$.each(jaItemsRetencion, function (index, item) {
		if(item.categoria == categoria) {
			joDataItemRetencion = {
					categoria: item.categoria,
					descripcion: item.descripcion,
					fechaRetencion: item.fechaRetencion,
					nroRetencion: item.nroRetencion,
					importeBaseImponibleRetencion: item.importeBaseImponibleRetencion,
					importeRetencion: item.importeRetencion
			}
			return false;
		}
	});
	
	$('#recibosItemRetencionDialog').load(popItemRetencionForm).dialog('open');
}

function deleteItemRetencion(categoria) 
{
	//Borro el Item de la Grilla
	$('#dt_retenciones tbody tr').each(function () {
		var aData = oTableItemRetencion.fnGetData(this);
		var categoriaRetencion = aData[1];
		if(categoriaRetencion == categoria) {
			oTableItemRetencion.fnDeleteRow(oTableItemRetencion.fnGetPosition(this)) ;
			return false;
		}
	});
	
	//Borro el Item del JSON
	$.each(jaItemsRetencion, function (index, item) {
		if(item.categoria == categoria) {
			jaItemsRetencion.splice(index, 1);
			return false
		}
	});
}

function addProxyShow()
{
	//Reset State of action and IndexPK
	actionPK = undefined;
	estadoRecibo = undefined;
	action = iConst.NEW;
	oTable.$('tr.row_selected').removeClass('row_selected');
	$('#recibosDialog').load(popForm).dialog('open');
}

function editProxyShow()
{
	if(actionPK === undefined)
	{
		$_showMessage('ALERT', 'ALERTA', 'Seleccione un Recibo de la Grilla');
		return;
	}
	
	if(estadoRecibo != iConstEstadoRecibo.INGRESADO)
	{
		$_showMessage('ALERT', 'ALERTA', 'No se puede Modificar el Recibo');
		return;
	}
	
	action = iConst.EDIT;
	var paramData =  "accion=" + iConst.EDIT + "&idRecibo=" + actionPK;
	
    $.ajax({
        type: 'POST',
        url: actionForm,
        data: paramData,
		dataType: 'json',
        success: function(jsonObj)
                            {
        						joDataRecibo = jsonObj;
        						//Open Pop Dialog
        						$('#recibosDialog').load(popForm).dialog('open');
                            }
        });
	
return true;
}

function imputacionesProxyShow()
{	
	//Open Pop Dialog
	$('#recibosImputacionDialog').load(popImputacionForm).dialog('open');
}

function $_cambiaTipoCobro(tipoCobro)
{
	//Hide All
	$('#efectivo').hide();
	$('#cheque').hide();
	$('#transferencia').hide();
	$('#documento').hide();
	
	//Remove All Rules
	$("#importeEfectivo").rules("remove");
	$("#fechaEmisionCheque").rules("remove");
	$("#fechaVtoCheque").rules("remove");
	$("#importeCheque").rules("remove");
	$("#bancoCheque").rules("remove");
	$("#nroCheque").rules("remove");
	$("#firmanteCheque").rules("remove");
	$("#cuitFirmanteCheque").rules("remove");
	$("#fechaTransferencia").rules("remove");
	$("#bancoTransferencia").rules("remove");
	$("#importeTransferencia").rules("remove");
	$("#fechaEmisionDocumento").rules("remove");
	$("#fechaVtoDocumento").rules("remove");
	$("#nroDocumento").rules("remove");
	$("#importeDocumento").rules("remove");
	$("#firmanteDocumento").rules("remove");
	$("#cuitFirmanteDocumento").rules("remove");
	
	switch (tipoCobro) {
	    case sConstTipoCobro.EFECTIVO:
	    	$("#importeEfectivo").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	joDataItem.descripcion = "Efectivo";
	        $('#efectivo').show();
	        break;
	    case sConstTipoCobro.CHEQUE:
	    	$("#fechaEmisionCheque").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#fechaVtoCheque").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#importeCheque").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#bancoCheque").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#nroCheque").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#firmanteCheque").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#cuitFirmanteCheque").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	joDataItem.descripcion = "Cheque";
	    	$('#cheque').show();
	        break;
	    case sConstTipoCobro.TRANSFERENCIA:
	    	$("#fechaTransferencia").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#bancoTransferencia").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#importeTransferencia").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	joDataItem.descripcion = "Transferencia";
	    	$('#transferencia').show();
	        break;
	    case sConstTipoCobro.DOCUMENTO:
	    	$("#fechaEmisionDocumento").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#fechaVtoDocumento").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#nroDocumento").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#importeDocumento").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#firmanteDocumento").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	$("#cuitFirmanteDocumento").rules("add", {required: true,minlength: 1, messages: {required: "",minlength: ""}});
	    	joDataItem.descripcion = "Documento";
	    	$('#documento').show();
	        break;
	}
}

function $_initPopItemCobroValidator()
{
	$('#detalleCobroItemPopForm').validate({
		submitHandler: function() {
			$_saveItemCobro();
		}, 		
		rules: {
			cmbTipo: {required: true,minlength: 1}
		},
		messages: {
			cmbTipo: {required: '',minlength: ''}
		}
	});
}

function $_initPopItemRetencionValidator()
{	
	$('#detalleRetencionItemPopForm').validate({
		submitHandler: function() {
			$_saveItemRetencion();
		}, 		
		rules: {
			cmbCategoria: {required: true,minlength: 1},
			fechaRetencion: {required: true,minlength: 1},
			nroRetencion: {required: true,minlength: 1},
			importeBaseImponibleRetencion: {required: true,minlength: 1},
			importeRetencion: {required: true,minlength: 1}
		},
		messages: {
			cmbCategoria: {required: '',minlength: ''},
			fechaRetencion: {required: '',minlength: ''},
			nroRetencion: {required: '',minlength: ''},
			importeBaseImponibleRetencion: {required: '',minlength: ''},
			importeRetencion: {required: '',minlength: ''}
		}
	});
}

function $_initPopValidator()
{	
	$('#recibosPopForm').validate({
		submitHandler: function() {
			$_saveRecibo(action);
		}, 		
		rules: {
			fecha: {required: true,minlength: 1},
			cliente: {required: true,minlength: 1},
			descripcion: {required: true,minlength: 1},
			importe: {required: true,minlength: 1}
		},
		messages: {
			fecha: {required: '',minlength: ''},
			cliente: {required: '',minlength: ''},
			descripcion: {required: '',minlength: ''},
			importe: {required: '',minlength: ''}
		}
	});
}

function $_saveItemCobro()
{
	if(actionPKItem == undefined)
		iRow = oTableItem.fnGetData().length;
	else
		iRow = actionPKItem;	

	var arrItem = [
	               '<center><img style="cursor:pointer;" onclick="editItemCobroProxyShow(\'' + $('#cmbTipo').val() + '\', this)" src="images/editar.png"/>&nbsp;<img style="cursor:pointer;" onclick="deleteItemCobro(this)" src="images/eliminar.png"/></center>', 
	               joDataItem.descripcion, 
	               joDataItem.importe
	             ];
	
	if(actionItem == iConst.NEW) {
		oTableItem.fnAddData(arrItem);
		joDataItem.tipoCobro = $('#cmbTipo').val();
		jaItems.push(joDataItem);
		$('#recibosItemCobroDialog').dialog('close');			
	}
	else if(actionItem == iConst.EDIT) {
		var rowItem = 0;
		var isUpdated = false;
		
		$('#dt_detalleCobro tbody tr').each(function () {
			if(rowItem == iRow) {
				oTableItem.fnUpdate(arrItem, this);
				isUpdated = true;
				return false;
			}
			rowItem++;
		});
			
		if(isUpdated) {
			$.each(jaItems, function (index, item) {
				if(index == iRow) {
					//Borro el Obj
					item = {};
					
					switch ($('#cmbTipo').val()) {
						case sConstTipoCobro.EFECTIVO:
							jaItems[index] = {
												tipoCobro : sConstTipoCobro.EFECTIVO,
												descripcion: joDataItem.descripcion,
												importe : joDataItem.importe
											}
							break;

						case sConstTipoCobro.CHEQUE:
							jaItems[index] = {
												tipoCobro : sConstTipoCobro.CHEQUE,
												descripcion: joDataItem.descripcion,
												fechaEmisionCheque : joDataItem.fechaEmisionCheque,
												fechaVtoCheque : joDataItem.fechaVtoCheque,
												importe : joDataItem.importe,
												bancoCheque : joDataItem.bancoCheque,
												nroCheque : joDataItem.nroCheque,
												firmanteCheque : joDataItem.firmanteCheque,
												cuitFirmanteCheque : joDataItem.cuitFirmanteCheque,
												endosante1Cheque : joDataItem.endosante1Cheque,
												cuitEndosante1Cheque : joDataItem.cuitEndosante1Cheque,
												endosante2Cheque : joDataItem.endosante2Cheque,
												cuitEndosante2Cheque : joDataItem.cuitEndosante2Cheque,
												endosante3Cheque : joDataItem.endosante3Cheque,
												cuitEndosante3Cheque : joDataItem.cuitEndosante3Cheque
											}
							break;
							
						case sConstTipoCobro.TRANSFERENCIA:
							jaItems[index] = {
												tipoCobro : sConstTipoCobro.TRANSFERENCIA,
												fechaTransferencia: joDataItem.fechaTransferencia,
												descripcion: joDataItem.descripcion,
												bancoTransferencia : joDataItem.bancoTransferencia,
												importe : joDataItem.importe
											}
							break;
							
						case sConstTipoCobro.DOCUMENTO:
							jaItems[index] = {
												tipoCobro : sConstTipoCobro.DOCUMENTO,
												descripcion: joDataItem.descripcion,
												fechaEmisionDocumento : joDataItem.fechaEmisionDocumento,
												fechaVtoDocumento : joDataItem.fechaVtoDocumento,
												nroDocumento : joDataItem.nroDocumento,
												importe : joDataItem.importe,
												firmanteDocumento : joDataItem.firmanteDocumento,
												cuitFirmanteDocumento : joDataItem.cuitFirmanteDocumento
											}
							break;
					}						
					return false
				}
			});
			$('#recibosItemCobroDialog').dialog('close');
		}
	}
}

function $_saveItemRetencion()
{
	if(actionPKItem == undefined)
		iRow = oTableItemRetencion.fnGetData().length;
	else
		iRow = actionPKItem;
	
	var arrItem = [
	               '<center><img style="cursor:pointer;" onclick="editItemRetencionProxyShow(\'' + $('#cmbCategoria').val() + '\', this)" src="images/editar.png"/>&nbsp;<img style="cursor:pointer;" onclick="deleteItemRetencion(\''+joDataItemRetencion.categoria+'\')" src="images/eliminar.png"/></center>',
	               $('#cmbCategoria').val(),
	               joDataItemRetencion.fechaRetencion, 
	               joDataItemRetencion.descripcion,
	               joDataItemRetencion.nroRetencion, 
	               joDataItemRetencion.importeBaseImponibleRetencion,
	               joDataItemRetencion.importeRetencion
	             ];
	
	if(actionItem == iConst.NEW) {
		//Verifico se existe el Item Pedido
		var bExiste = false;
		$('#dt_retenciones tbody tr').each(function () {
			var aData = oTableItemRetencion.fnGetData(this);
			if(aData != null) {
				var categoria = aData[1];
				if(categoria == joDataItemRetencion.categoria) {
					bExiste = true;
					return false;
				}
			}
		});
		if(!bExiste) {
			oTableItemRetencion.fnAddData(arrItem);
			jaItemsRetencion.push(joDataItemRetencion);
			$('#recibosItemRetencionDialog').dialog('close');
		}
		else {
			$_showMessage('ALERT', 'ALERTA', 'La Retenci&oacute;n ya esta Cargada');
		}
	}
	else if(actionItem == iConst.EDIT) {
		var rowItem = 0;
		var isUpdated = false;
		var retencionExist = false;
		
		//Verifico que el articulo no este pedido
		$('#dt_retenciones tbody tr').each(function () {
			var aData = oTableItemRetencion.fnGetData(this);
			var categoria = aData[1];
			if(categoria == joDataItemRetencion.categoria && rowItem != iRow) {
				retencionExist = true;
				return false;
			}
			rowItem++;
		});
		
		if(retencionExist) {
			$_showMessage('ALERT', 'ALERTA', 'La Retenci&oacute;n ya esta Cargada');
			return;
		}
		else {
			rowItem = 0;
			$('#dt_retenciones tbody tr').each(function () {
				if(rowItem == iRow) {
					oTableItemRetencion.fnUpdate(arrItem, this);
					isUpdated = true;
					return false;
				}
				rowItem++;
			});
			
			if(isUpdated) {
				$.each(jaItemsRetencion, function (index, item) {
					if(index == iRow) {
						item.categoria = joDataItemRetencion.categoria; 
						item.descripcion = joDataItemRetencion.descripcion;
						item.fechaRetencion = joDataItemRetencion.fechaRetencion;
						item.nroRetencion = joDataItemRetencion.nroRetencion;
						item.importeBaseImponibleRetencion = joDataItemRetencion.importeBaseImponibleRetencion;
						item.importeRetencion = joDataItemRetencion.importeRetencion;
						return false
					}
				});
				$('#recibosItemRetencionDialog').dialog('close');
			}
		}
	}	
}

function $_saveRecibo(action)
{
	if(oTableItem.fnGetData().length == 0) {
		$_showMessage('ALERT', 'ALERTA', 'Ingrese alg&uacute;n Item para el Recibo');
		return;
	}
	
	var saldoReciboSelected = 0;
	$.each(jaItems, function(i, item){
		saldoReciboSelected += parseFloat(item.importe);
	});
	$.each(jaItemsRetencion, function(i, item){
		saldoReciboSelected += parseFloat(item.importeRetencion);
	});
	
	//Verifico el Importe Ingresado con el Detalle y las Retenciones
	if(parseFloat(saldoReciboSelected) != parseFloat($('#importe').val()) ){
		$_showMessage('ALERT', 'ALERTA', 'Difiere el Importe Ingresado con el Detalle, Verifique');
		return false
	}
	
	$("#btnGuardar").attr('disabled','disabled');
	
	var paramData = 'accion=addOrEdit&' + $("#recibosPopForm").serialize() + "&idCliente=" + clientesPop.id + 
						'&jaItems=' + encodeURIComponent(JSON.stringify(jaItems)) + '&jaItemsRetencion=' + encodeURIComponent(JSON.stringify(jaItemsRetencion));
	
	if(action == iConst.EDIT)
		paramData += '&idRecibo=' + actionPK;
	
    $.ajax({
        type: 'POST',
        url: actionForm,
        data: paramData,
		dataType: 'json',
        success: function(jsonObj){
            if(jsonObj.status === 'OK'){
				$_showMessage('OK', jsonObj.status, jsonObj.msg);
				$('#recibosDialog').dialog('close');
				oTable.fnStandingRedraw();
			}
			else
				$_showMessage('ERR', jsonObj.status, jsonObj.msg);
            $("#btnGuardar").removeAttr('disabled');
        }
    });

return true;
}

function confirmarReciboProxyShow(idRecibo)
{	
	action = iConst.CONFIRMAR;
	actionConfirmaPK = idRecibo;
	
	$("#confirmarReciboDialog").dialog({
		autoOpen: false, 
		width:350,
		position: 'center',
		open: function () {
			$('#confirmarReciboDialog').css('background-color','#4f4233');
			$('#btnConfirmaRecibo').click( function(e) {
				$_confirmar();
			});
			$('#btnSalirConfirmarRecibo').click( function(e) {
				$('#confirmarReciboDialog').dialog('close')
			})
		}
	});
	$('#confirmarReciboDialog').dialog('open');	
}

function $_confirmar()
{
	var paramData = 'accion=' + action + '&idRecibo=' + actionConfirmaPK;

    $.ajax({
            type: 'POST',
            url: actionForm,
            data: paramData,
			dataType: 'json',
            success: function(jsonObj)
                                {
                                    if(jsonObj.status === 'OK'){
										$_showMessage('OK', 'OK', jsonObj.msg);
										
										//Reset State of action Confirma
										actionConfirmaPK = undefined;
										oTable.fnStandingRedraw();
									}
									else
										$_showMessage('ERR', 'ERROR', jsonObj.msg);
                                    $('#confirmarReciboDialog').dialog('close');
                                }
            });

return true;
}

function delProxyShow()
{
	if(actionPK === undefined)
	{
		$_showMessage('ALERT', 'ALERTA', 'Seleccione un Recibo de la Grilla');
		return;
	}
	
	if(estadoRecibo != iConstEstadoRecibo.INGRESADO)
	{
		$_showMessage('ALERT', 'ALERTA', 'No se puede Eliminar el Recibo');
		return;
	}
	
	action = iConst.DELETE;
	
	$("#deleteReciboDialog").dialog({
		autoOpen: false, 
		width:350,
		position: 'center',
		open: function () {
			$('#deleteReciboDialog').css('background-color','#4f4233');
			$('#btnConfirmaEliminar').click( function(e) {
				$_del();
			});
			$('#btnSalirEliminar').click( function(e) {
				$('#deleteReciboDialog').dialog('close')
			})
		}
	});
	$('#deleteReciboDialog').dialog('open');	
}

function $_del()
{
	var paramData = 'accion=' + action + '&idRecibo=' + actionPK;

    $.ajax({
            type: 'POST',
            url: actionForm,
            data: paramData,
			dataType: 'json',
            success: function(jsonObj)
                                {
                                    if(jsonObj.status === 'OK'){
										$_showMessage('OK', 'OK', jsonObj.msg);
										
										//Reset State of action and IndexPK
										actionPK = undefined;
										estadoRecibo = undefined;
										action = iConst.NEW;
										oTable.fnStandingRedraw();
									}
									else
										$_showMessage('ERR', 'ERROR', jsonObj.msg);
                                    $('#deleteReciboDialog').dialog('close');
                                }
            });

return true;
}

function $_initPopImputacion()
{	
	$(document).ready(function() {
		
		$('#btnSalirImputacion').click( function(e) {
			$('#recibosImputacionDialog').dialog('close');
		});
		
		$('#btnGuardarImputacion').click( function(e) {
			
			var sumaSaldoFac = 0;
			
			joDataComprobantesItems = [];
			$.each(oTableComprobantes.fnGetNodes(), function(index, value) {
				if($(".chkClass", value).is(':checked')) {
					var chkFactura = $(".chkClass", value).attr('id');
					var saldo = $(".gridInputSaldo", value).val();
					
					var joComprobanteItem = {
							idComprobante : chkFactura,
							saldoComprobante : saldo
					};
					joDataComprobantesItems.push(joComprobanteItem);
					
					sumaSaldoFac += parseFloat(saldo);
				}
			});
			
			if($.isEmptyObject(joDataComprobantesItems)) {
				$_showMessage('ALERT', 'ALERTA', 'Seleccione alg&uacute;n Comprobante');
				return false
			}
			
			if(parseFloat(saldoReciboSelected) < sumaSaldoFac ){
				$_showMessage('ALERT', 'ALERTA', 'Error en los Saldos Imputados en las Facturas, Verifique');
				return false
			}
			
			var paramData =  "accion=" + iConst.IMPUTAR + "&idRecibo=" + reciboSelected[0] + "&joDataComprobantesItems=" +  encodeURIComponent(JSON.stringify(joDataComprobantesItems));
			
			$.ajax({
		        type: 'POST',
		        url: actionForm,
		        data: paramData,
				dataType: 'json',
		        success: function(jsonObj)
		                            {
		                                if(jsonObj.status === 'OK'){
		                                	$_showMessage('OK', jsonObj.status, jsonObj.msg);
		                                	oTableRecibosSinImputar.fnDraw();
		                                	reciboSelected =  [];
		                                	oTableComprobantes.fnReloadAjax(actionForm + "?accion=searchComprobantes&idCliente=");
		                                	oTable.fnDraw();
		                    			}
		                    			else
		                    				$_showMessage('ERR', jsonObj.status, jsonObj.msg);
		                            }
		        });
		});
		
		oTableRecibosSinImputar = $('#dt_recibosSinImputar').dataTable( {			
										"bJQueryUI": true,
										"sPaginationType": "two_button",
										"bInfo": false,
										"bLengthChange": false,
										"bProcessing": true,
										"bFilter": false,
										"bScrollInfinite": true,
										"bScrollCollapse": true,
										"bPaginate": false,
										"iDisplayLength": -1,
										"bServerSide": true,
										"sAjaxSource": actionForm + "?accion=searchRecibosSinImputacion",
										"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
											if ( jQuery.inArray(aData[0], reciboSelected) != -1 )
											{
										        $(nRow).addClass('row_selected');
											}
											return nRow;
										},
										"aoColumns": [
										  			{ "bSortable": false },
										  			{bVisible : false},
										  			{ "bSortable": false },
										  			{ "bSortable": false },
										  			{ "bSortable": false }
										  		]
									});
		
		if(!popUpLoaded) {
			/* Click event handler */
	    	$('#dt_recibosSinImputar tbody tr').live('click', function () {
	    		var aData = oTableRecibosSinImputar.fnGetData(this);
	    		if(aData == undefined)
	    			return;
	    		
	    		var iIdRecibo = aData[0];
	    		var iIdCliente = aData[1];
	    		
	    		reciboSelected =  [];
	    		if ( $(this).hasClass('row_selected') ) {
		            $(this).removeClass('row_selected');
		            saldoReciboSelected = 0;
		            iIdCliente = 0;
		        }
		        else {
		        	oTableRecibosSinImputar.$('tr.row_selected').removeClass('row_selected');
		            $(this).addClass('row_selected');
		            reciboSelected[reciboSelected.length++] = iIdRecibo;
		            saldoReciboSelected = aData[4];
		        }
	    		oTableComprobantes.fnReloadAjax(actionForm + "?accion=searchComprobantes&idCliente=" + iIdCliente);
	    	});
	    	
	    	popUpLoaded = true;
		}
		
		oTableComprobantes = $('#dt_comprobantes').dataTable( {			
					"bJQueryUI": true,
					"sPaginationType": "two_button",
					"bInfo": false,
					"bLengthChange": false,
					"bProcessing": true,
					"bFilter": false,
					"bScrollInfinite": true,
					"bScrollCollapse": true,
					"bPaginate": false,
					"iDisplayLength": -1,
					"bServerSide": true,
					"fnDrawCallback": function(oSettings) {
						$(".gridInputSaldo").blur( function (e) {
							
						});
					},
					"sAjaxSource": actionForm + "?accion=searchComprobantes&idCliente=",
					"aoColumns": [
					  			{ "bSortable": false },
					  			{ "bVisible": false},
					  			{ "bSortable": false },
					  			{ "bSortable": false },
					  			{ "sClass": "gridInput", "bSortable": false }
					  		]

				});
    	    	 
    	$('#dt_comprobantes tbody td.gridInput input').live('focus', function (e){
    		$(this).numeric();
    	});
	});
}

function imprimirProxyShow()
{	
	if(actionPK === undefined)
	{
		$_showMessage('ALERT', 'ALERTA', 'Seleccione un Recibo de la Grilla');
		return;
	}
	
	var paramData = "idRecibo=" + actionPK;
	window.open(popImprimir + '?' + paramData, '_blank');	
}

function $_initListadoRetenciones()
{
	$(document).ready(function() {
		
		$("#filtrosDialog").dialog({
			autoOpen:false, 
			height:'auto', 
			width:320, 
			modal: true,
			closeOnEscape: false,
			position : ['center',10],		
			dialogClass:'no-close',
			open: function() {
				$('#filtrosDialog').css('background-color','#4f4233');
			}
		});
		
		$("#fechaDesde").mask('99/99/9999',{placeholder:" "}).datepicker({
			showOptions: { direction: "up" },
			dateFormat: 'dd/mm/yy',
			changeMonth: true,
			changeYear: true
		});
		
		$("#fechaHasta").mask('99/99/9999',{placeholder:" "}).datepicker({
			showOptions: { direction: "up" },
			dateFormat: 'dd/mm/yy',
			changeMonth: true,
			changeYear: true
		});
		
		$('#btnImprimir').click( function(e) {
			window.open('docsPdf/pdfListadoRetenciones.php?fechaDesde=' + $('#fechaDesde').val() + '&fechaHasta=' + $('#fechaHasta').val() + "&categoria=" + $('#cmbCategoria').val(), '_blank');
		});
		
		$('#btnExcel').click( function(e) {
			window.open(actionForm + '?accion=exportarExcelListadoRetenciones&fechaDesde=' + $('#fechaDesde').val() + '&fechaHasta=' + $('#fechaHasta').val() + "&categoria=" + $('#cmbCategoria').val(), '_blank');
		});
		
		$('#btnFiltros').click(function(e) {
			$('#filtrosDialog').dialog('open');
		});
		
    	oTableListadoRet = $('#dt_listadoRetenciones').dataTable( {
								"bJQueryUI": true,
								"sPaginationType": "two_button",
								"bInfo": false,
								"bLengthChange": false,
								"bProcessing": true,
								"bAutoWidth": false,
								"bServerSide": true,
								"sAjaxSource": actionForm + "?accion=searchListadoRetenciones&emptyTable=true",
								"aoColumns": [
								            null,
								  			null,
								  			null,
								  			null,
								  			null,
								  			null
								  		]
							});
	});
	
	//Event on PopUp
	//Add Click for All Buttons in Search Form
	$("#btnBuscar").click( function(e) {
		oTableListadoRet.fnReloadAjax(actionForm + '?accion=searchListadoRetenciones&fechaDesde=' + $('#fechaDesde').val() + '&fechaHasta=' + $('#fechaHasta').val() + "&categoria=" + $('#cmbCategoria').val());
    });
	
	//Add Click for All Buttons in Search Form
	$("#btnCerrar").click( function(e) {
		$('#filtrosDialog').dialog('close');
    });
}

function $_initListadoRecibos()
{
	$(document).ready(function() {
		
		$("#filtrosDialog").dialog({
			autoOpen:false, 
			height:'auto', 
			width:320, 
			modal: true,
			closeOnEscape: false,
			position : ['center',10],		
			dialogClass:'no-close',
			open: function() {
				$('#filtrosDialog').css('background-color','#4f4233');
			}
		});
		
		$("#fechaDesde").mask('99/99/9999',{placeholder:" "}).datepicker({
			showOptions: { direction: "up" },
			dateFormat: 'dd/mm/yy',
			changeMonth: true,
			changeYear: true
		});
		
		$("#fechaHasta").mask('99/99/9999',{placeholder:" "}).datepicker({
			showOptions: { direction: "up" },
			dateFormat: 'dd/mm/yy',
			changeMonth: true,
			changeYear: true
		});
		
		$('#btnImprimir').click( function(e) {
			window.open('docsPdf/pdfListadoRecibos.php?fechaDesde=' + $('#fechaDesde').val() + '&fechaHasta=' + $('#fechaHasta').val(), '_blank');
		});
		
		$('#btnExcel').click( function(e) {
			window.open(actionForm + '?accion=exportarExcelListadoRecibos&fechaDesde=' + $('#fechaDesde').val() + '&fechaHasta=' + $('#fechaHasta').val(), '_blank');
		});
		
		$('#btnFiltros').click(function(e) {
			$('#filtrosDialog').dialog('open');
		});
		
    	oTableListadoRecibos = $('#dt_listadoRetenciones').dataTable( {
								"bJQueryUI": true,
								"sPaginationType": "two_button",
								"bInfo": false,
								"bLengthChange": false,
								"bProcessing": true,
								"bAutoWidth": false,
								"bServerSide": true,
								"sAjaxSource": actionForm + "?accion=searchListadoRecibos&emptyTable=true",
								"aoColumns": [
								            null,
								  			null,
								  			null,
								  			null
								  		]
							});
	
		//Event on PopUp
		//Add Click for All Buttons in Search Form
		$("#btnBuscar").click( function(e) {
			oTableListadoRecibos.fnReloadAjax(actionForm + '?accion=searchListadoRecibos&fechaDesde=' + $('#fechaDesde').val() + '&fechaHasta=' + $('#fechaHasta').val());
	    });
		
		//Add Click for All Buttons in Search Form
		$("#btnCerrar").click( function(e) {
			$('#filtrosDialog').dialog('close');
	    });
	});
}

function $_ClearRecibosPopForm()
{	
	$("#recibosDialog").empty();
}

function $_ClearRecibosItemCobroPopForm()
{	
	$("#recibosItemCobroDialog").empty();
}

function $_ClearRecibosItemRetencionPopForm()
{	
	$("#recibosItemRetencionDialog").empty();
}

function $_ClearRecibosFinalizarPopForm()
{
	$("#recibosFinalizarDialog").empty();
}
